			var contactos=new Array();
			var listado=null;
			var registro=null;
			var busqueda=null;
			var eliminar=null;
			var editar=null;
			
			var nombre=null;
			var apellido=null;
			var telefono=null;
			var email=null;
			var filtro=null;
			
			var actualEdit=0;
			
		function cagarDatos()
		{
			listado=document.getElementById('listado');
			registro=document.getElementById('formulario');
			busqueda=document.getElementById('busqueda');
			eliminar=document.getElementById('eliminar');
			editar=document.getElementById('editar');
			
			iNombre=document.getElementById('nombreContacto');
			iApellido=document.getElementById('apellidoContacto');
			iTelefono=document.getElementById('telefonoContacto');
			iEmail=document.getElementById('emailContacto');
			iFiltro=document.getElementById('filtro');
		}
		
		function desplegarEliminar()
		{
			listado.style.display="none";
			registro.style.display="none";
			busqueda.style.display="none";
			eliminar.style.display="block";
			editar.style.display="none";
		}
		
		function desplegarRegistro()
		{
			listado.style.display="none";
			registro.style.display="block";
			busqueda.style.display="none";
			eliminar.style.display="none";
			editar.style.display="none";
		}
		
		function desplegarBusqueda()
		{
			listado.style.display="none";
			registro.style.display="none";
			busqueda.style.display="block";
			eliminar.style.display="none";
			editar.style.display="none";
		}
		
		function registrarContacto()
		{
			var nombre=iNombre.value;
			var apellido=iApellido.value;
			var telefono=iTelefono.value;
			var email=iEmail.value;
			
			var datosContacto=nombre+":"+apellido+":"+telefono+":"+email;
			
			contactos.push(datosContacto);
			
			iNombre.value="";
			iApellido.value="";
			iTelefono.value="";
			iEmail.value="";
		}
		
		function desplegarEditar()
		{
			listado.style.display="none";
			registro.style.display="none";
			busqueda.style.display="none";
			eliminar.style.display="none";
			editar.style.display="block";
		
		}
		
		function mostrarContacto()
		{
			formulario.style.display="none";
			eliminar.style.display="none";
			busqueda.style.display="none";
			editar.style.display="none";
			
			
			if(contactos.length==0)
			{
				listado.innerHTML="<p><b>No hay contactos registrados...</p></b>";
				listado.style.display="block";
				return;
			}
			
			var tablaContacto="<table><tr><th>Nombre</th><th>Apellido</th>"+
			"<th>Telefono</th><th>Email</th></tr>";
			
			contactos.sort();
			
			for(var j=0;j<contactos.length;j++)
			{
				var newContacto=contactos[j].split(":");
				tablaContacto+="<tr><td>"+newContacto[0]+"</td>";
				tablaContacto+="<td>"+newContacto[1]+"</td>";
				tablaContacto+="<td>"+newContacto[2]+"</td>";
				tablaContacto+="<td>"+newContacto[3]+"</td></tr>";
				
			
			}
			
			tablaContacto+="</table>";
			listado.innerHTML=tablaContacto;
			listado.style.display="block";
			
		}
		
		function buscarContacto()
		{
			filtro=iFiltro.value;
			
			if(contactos.length==0)
			{
				listado.innerHTML="<p><b>No hay contactos registrados...</p></b>";
				listado.style.display="block";
				return;
			}
			var tablaContacto="<table><tr><th>Nombre</th><th>Apellido</th>"+
			"<th>Telefono</th><th>Email</th></tr>";
			
			for(var j=0;j<contactos.length;j++)
			{
				
				if(replaceAll(contactos[j],':','').search(new RegExp(filtro, 'i'))!=-1)
				{
					var newContacto=contactos[j].split(":");
					tablaContacto+="<tr><td>"+newContacto[0]+"</td>";
					tablaContacto+="<td>"+newContacto[1]+"</td>";
					tablaContacto+="<td>"+newContacto[2]+"</td>";
					tablaContacto+="<td>"+newContacto[3]+"</td></tr>";
				}
				
			
			}
			
			tablaContacto+="</table>";
			listado.innerHTML=tablaContacto;
			listado.style.display="block";
		
		
		}
		
		function replaceAll(txt, replace, with_this){
		
			return txt.replace(new RegExp(replace, 'g'),with_this);
		}
		
		function eliminarContacto()
		{
			if(contactos.length==0)
			{
				eliminar.innerHTML="<p><b>No hay contactos registrados...</p></b>";
				eliminar.style.display="block";
				return;
			}
			var tablaContacto="<table><tr><th>Accion</th><th>Nombre</th><th>Apellido</th>"+
			"<th>Telefono</th><th>Email</th></tr>";
			
			contactos.sort();
			
			for(var j=0;j<contactos.length;j++)
			{
				var newContacto=contactos[j].split(":");
				tablaContacto+="<tr><td><input type='checkbox' value='"+j+"' name='selecion'/></td>";
				tablaContacto+="<td>"+newContacto[0]+"</td>";
				tablaContacto+="<td>"+newContacto[1]+"</td>";
				tablaContacto+="<td>"+newContacto[2]+"</td>";
				tablaContacto+="<td>"+newContacto[3]+"</td></tr>";
				
			
			}
			
			tablaContacto+="</table>";
			tablaContacto+="<button onclick='eliminarElementos();'>Eliminar contacto/s</button>";
			eliminar.innerHTML=tablaContacto;
			
		}
		
		function eliminarElementos()
		{
			var checkInput = document.getElementsByName('selecion');
			
			for(var i=0;i<checkInput.length;i++)
			{
				var index=checkInput[i].value;
				if(checkInput[i].checked)
				{
				
					contactos.splice(parseInt(index),1);
				}
				index-=1;
			}
			eliminarContacto();
		
		}
		
		function editarContacto()
		{
			if(contactos.length==0)
			{
				editar.innerHTML="<p><b>No hay contactos registrados...</p></b>";
				editar.style.display="block";
				return;
			}
			var tablaContacto="<table><tr><th>Accion</th><th>Nombre</th><th>Apellido</th>"+
			"<th>Telefono</th><th>Email</th></tr>";
			
			contactos.sort();
			
			for(var j=0;j<contactos.length;j++)
			{
				var newContacto=contactos[j].split(":");
				tablaContacto+="<tr><td><input type='radio' name='edit' value='"+j+"'/></td>";
				tablaContacto+="<td>"+newContacto[0]+"</td>";
				tablaContacto+="<td>"+newContacto[1]+"</td>";
				tablaContacto+="<td>"+newContacto[2]+"</td>";
				tablaContacto+="<td>"+newContacto[3]+"</td></tr>";
				
			
			}
			
			tablaContacto+="</table>";
			tablaContacto+="<button onclick='editarElemento();'>Editar contacto</button>";
			editar.innerHTML=tablaContacto;
		}
		
		function formularioEditar(valor)
		{
			var newContacto=contactos[parseInt(valor)].split(":");
			
			document.getElementById('nombreContactoEdit').value=newContacto[0];
			document.getElementById('apellidoContactoEdit').value=newContacto[1];
			document.getElementById('telefonoContactoEdit').value=newContacto[2];
			document.getElementById('emailContactoEdit').value=newContacto[3];
			editar.style.display="none";
			document.getElementById('formularioParaEditar').style.display="block";
			
		}
		
		function editarElemento()
		{
			var radioInput = document.getElementsByName('edit');
			
			for(var i=0;i<radioInput.length;i++)
			{

				if(radioInput[i].checked)
				{
					radioInput[i].value
					formularioEditar(radioInput[i].value);
					actualEdit=parseInt(radioInput[i].value);
				}

			}
			editarContacto();
		
		}
		
		function actualizarContacto()
		{	
			var nombre=document.getElementById('nombreContactoEdit').value;
			var apellido=document.getElementById('apellidoContactoEdit').value;
			var telefono=document.getElementById('telefonoContactoEdit').value;
			var email=document.getElementById('emailContactoEdit').value;
		
			contactos[actualEdit]=nombre+":"+apellido+":"+telefono+":"+email;
			
			document.getElementById('nombreContactoEdit').value="";
			document.getElementById('apellidoContactoEdit').value="";
			document.getElementById('telefonoContactoEdit').value="";
			document.getElementById('emailContactoEdit').value="";
			
			document.getElementById('formularioParaEditar').style.display="none";
			desplegarEditar();
			editarContacto();
		}
		
		